Don't define user-ptr type when user-ptrp is not present
authorPo Lu <luangruo@yahoo.com>
Sun, 24 Mar 2024 03:02:34 +0000 (11:02 +0800)
committerPo Lu <luangruo@yahoo.com>
Sun, 24 Mar 2024 03:03:51 +0000 (11:03 +0800)
* lisp/emacs-lisp/cl-preloaded.el (user-ptr): Condition on
presence of predicate function.

lisp/emacs-lisp/cl-preloaded.el

index 8428ec4beb74d869cbf62ba170820834a1fb5b35..f27933ed0543f8eca880dec79776c34215c7b82d 100644 (file)
@@ -356,8 +356,10 @@ The `slots' (and hence `index-table') are currently unused."
 (cl--define-built-in-type tree-sitter-compiled-query atom)
 (cl--define-built-in-type tree-sitter-node atom)
 (cl--define-built-in-type tree-sitter-parser atom)
-(cl--define-built-in-type user-ptr atom
-  nil :predicate user-ptrp) ;; FIXME: Shouldn't it be called `user-ptr-p'?
+(declare-function user-ptrp "data.c")
+(unless (fboundp 'user-ptrp)
+  (cl--define-built-in-type user-ptr atom nil
+                            :predicate user-ptrp)) ;; FIXME: Shouldn't it be called `user-ptr-p'?
 (cl--define-built-in-type font-object atom)
 (cl--define-built-in-type font-entity atom)
 (cl--define-built-in-type font-spec atom)